﻿/*
	1、生成一定范围内的随机数字
*/

	function randomNum(min,max){
		return Math.round(Math.random()*(max-min))+min;
	}

/*
	2、生成随机颜色
*/
	function randomColor(){
		var R=randomNum(0,255).toString(16);//生成16进制的随机数
		var G=randomNum(0,255).toString(16);
		var B=randomNum(0,255).toString(16);
		return "#"+(R.length<2?"0"+R:R)+(G.length<2?"0"+G:G)+(B.length<2?"0"+B:B);
	}
	
/*
	3、获取容器在页面的绝对位置
*/
	function getpageCoord(evt){
		var e=evt || event;
		var totalx=e.offsetLeft;
		var totaly=e.offsetTop;
		while(e.offsetParent){
			e=e.offsetParent;
			totalx+=e.offsetLeft;
			totaly+=e.offsetTop;
		}
		var obj={
			x:totalx,
			y:totaly
		}
		return obj;
	}
	
/*
	4、设置cookie,向cookie中存入
	key: 键
	value: 值
	expires: cookie有效期天数
*/
	function setCookie(key,val,expires){
		var now=new Date();
		now.setDate(now.getDate()+expires);
		document.cookie=key+"="+val+"; expires="+now;
	}
	
/*
	5、cookie验证，取出cookie中键对应的值
*/
	function getCookie(key){
		var arr=document.cookie.split("; ");
		for(var i=0;i<arr.length;i++){
			var newarr=arr[i].split("=");
			if(newarr[0]==key){
				return newarr[1];
			}
		}
		return "";
	}
	
/*
	6、返回style 解决兼容
*/
	function getStyle(ele){
		//IE
		if(ele.currentStyle){
			return ele.currentStyle;
		}else{
			return getComputedStyle(ele,null);
		}
	}
	
/*
	7、编写函数has(arr , 60) 判断数组中是否存在60这个元素，返回布尔类型
* */
	function has(arr,num){
		for(var i in arr){
			if(arr[i]==num){
				return true;
			}
		}
		return false;
	}
	
/*
 	8、编写函数norepeat(arr) 将数组的重复元素去掉，并返回新的数组
*/
	function notrepeat(arr){
		var newarr=[];
		for(var i in arr){
			if(!has(newarr,arr[i])){
				newarr[newarr.length]=arr[i];
			}
		}
		return newarr;
	}

/*
	9、定点抛物线的封装
	box:做定点抛物线的物体
	targetX:目标物体的offsetLeft
	targetY:目标物体的offsetTop
 * */
	function fixedPointMove(box,targetX,targetY){
		/*
		 抛物线方程：y=ax^2+bx+c
		 过原点c为0
		 * */
		var a=0.001;//给定a
		//根据目标点求b
		//将在页面上的目标坐标转换为坐标轴上的坐标，ball为原点
		var targetPoint={
			x:targetX-box.offsetLeft,
			y:targetY-box.offsetTop
		};
		var originPoint={
			x:box.offsetLeft,
			y:box.offsetTop
		}
		/*
		 	根据原点和目标点求b
		 	b=(y-ax^2)/x
		 * */
		var _x=0;
		var t=setInterval(function(){
			_x+=10;
			var _y=a*Math.pow(_x,2)+
			((targetPoint.y-a*Math.pow(targetPoint.x,2))/targetPoint.x)*_x;
			box.style.left=originPoint.x+_x+"px";
			box.style.top=originPoint.y+_y+"px";
			//当x到达目标点坐标，停止
			if(_x>=targetPoint.x){
				clearInterval(t);
			}
		},10)
	}











